{
GskRenderNode *start_node = gsk_cross_fade_node_get_start_child (node);
GskRenderNode *end_node = gsk_cross_fade_node_get_end_child (node);
- float progress = gsk_cross_fade_node_get_progress (node);
+ const float progress = gsk_cross_fade_node_get_progress (node);
TextureRegion start_region;
TextureRegion end_region;
gboolean is_offscreen1, is_offscreen2;
OpCrossFade *op;
+ if (progress <= 0)
+ {
+ gsk_gl_renderer_add_render_ops (self, start_node, builder);
+ return;
+ }
+ else if (progress >= 1)
+ {
+ gsk_gl_renderer_add_render_ops (self, end_node, builder);
+ return;
+ }
+
/* TODO: We create 2 textures here as big as the cross-fade node, but both the
* start and the end node might be a lot smaller than that. */